//引入加密插件
import md5 from './../../utils/md5';
//引入封装请求
import request from "../../utils/request";
//  pages/login/login.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    Idnumber: '362202200103286317',//身份证号
    password:'123456',//用户密码
  },
  

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    
  },
  //表单项内容发生改变的回调
  handleInput(event){
    //console.log(event);
    //let type = event.currentTarget.id;//id传值
    let type = event.currentTarget.dataset.type;
    //console.log(type,event.detail.value)

    //给初始化数据赋值
    this.setData({
      [type]:event.detail.value
    })
  },

  //点击登录
  async login(event){
    //获取本地存储的openId
    let openId = wx.getStorageSync('openId');
    //console.log(openId)
      if(!openId){
        wx.showToast({
          title: 'openId异常',
          icon:'error'
        })
        return;
      }
      //MD5加密
      const openIdMD = md5(JSON.parse(openId));
      //console.log(openId);
      //console.log(openIdMD)
    //1.收集表单项数据
    let {Idnumber,password} = this.data;
    
    if(!Idnumber){
      //提示用户
      wx.showToast({
        title: '身份证不能为空',
        icon:'none'
      })
      return;
    }
    //定义正则表达式
    let IdnumberReg = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
    if(!IdnumberReg.test(Idnumber)){
      wx.showToast({
        title: '身份证格式错误',
        icon:'none'
      })
      return;
    }
    if(!password){
      wx.showToast({
        title: '密码不能为空',
        icon:'none'
      })
      return;
    }

    //判断登录用户类型
    //console.log(event.currentTarget.id);
    let url='';
    var pd = event.currentTarget.id;
    if(pd==1){
      url='/WxInterface/WxTeacherLogin'
    }else{
      url='/WxInterface/WxStudentLogin'
    }
    //console.log(openId)
    //发送请求
    let userInfo=await request(url,{userName:Idnumber,userPassword:password,openId:openIdMD});
    console.log(userInfo);
    //判断登录成功状态
    if(userInfo.State){
      wx.showToast({
        title: userInfo.Text,
      })
      
      //将返回成功后的信息存储至本地
      wx.setStorageSync('userInfo', JSON.stringify(userInfo.listObject)) //转成string格式

      /**
       * 2022年1月4号插入 因为官网从2022年2月21日24时起回收通过<open-data>展示个人信息的能力
       * 所以需要改变头像昵称获取方式
       * 之前直接获取该微信头像和昵称
       * 现在流程，点击登录后判断本地缓存是否有user_avatar_nickname参数
       * 有的话就跳转主页面，没有的话跳转第一次用户登录填写头像以及昵称信息后再跳转至主页面
       */

       //读取用户头像昵称信息
      let user_avatar_nickname = wx.getStorageSync('user_avatar_nickname') ? wx.getStorageSync('user_avatar_nickname') : '[]';
      let useran = JSON.parse(user_avatar_nickname)
      
      console.log(useran.length);
      // 登录成功后检测是否存在用户头像昵称信息
      if(useran.length == 0){
       //不存在，跳转输入信息
        wx.navigateTo({
          url: '/pages/personal_center/avatar_nickname/avatar_nickname'
        })
      }else{
        // 登录成功后自动跳转至个人中心personal页面
        wx.reLaunch({
          url: '/pages/personal_center/personal/personal'
        })
      }

      //存在直接登录

      
    }else{
      //弹出失败信息
      console.log(userInfo.Text)
      wx.showToast({
        title: userInfo.Text,
        icon:'none',
        duration:2000
      })
    }


      //原生请求写法
      //发送请求
      // wx.request({
      // url: url,
      // method:'POST',
      // header:{"content-type": "application/x-www-form-urlencoded"},
      // data:{userName:Idnumber,userPassword:password,validCode:123,campu:1,rememberMe:false,openId:openIdMD},
      //   //请求成功的回调
      //   success:(res)=>{
      //     if(res.data.State){
      //       wx.showToast({
      //         title: res.data.Text,
      //       })
            
      //       //将身份证添加到返回对象中
      //       res.data['Idnumber'] = Idnumber;
      //       //将返回成功后的信息存储至本地
      //       wx.setStorageSync('userInfo', JSON.stringify(res.data)) //转成json格式

      //       // 跳转至个人中心personal页面
      //       wx.reLaunch({
      //         url: '/pages/personal/personal'
      //       })
      //     }else{
      //       wx.showToast({
      //         title: res.data.Text,
      //         icon:'error',
      //       })
      //     }
      //     },
      //     //失败的回调
      //     fail:(err)=>{
      //       wx.showToast({
      //         title: "登录失败",
      //         icon:'error'
      //       })
      //     }
      // })
      
    
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    var Fly=require("../../static/fly/fly") //wx.js为您下载的源码文件
    var fly=new Fly; //创建fly实例
    wx.login({
      success:async(res)=>{
        //获取code
        let code=res.code;
        //console.log(code)
        //开发中密钥
        let miyao='3e8e2e53dadf6ff87344f567f0e85c33';
        //开发者appId
        let appId='wxe6f171c155e57733';
        //console.log(code);
        //发送请求到服务器
        //https://api.weixin.qq.com/sns/jscode2session?appid=wx4af9941fc57806aa&secret=9d1005be604553a2ec56074e2dfa5da0&js_code=063Oo6100ioWlM1ipT1005p9D33Oo61O&grant_type=authorization_code
        //拼接请求微信服务器参数链接
        let url=`https://api.weixin.qq.com/sns/jscode2session?appid=${appId}&secret=${miyao}&js_code=${code}&grant_type=authorization_code`
        
        //发送请求
        let result= await fly.get(url);
        
        //console.log(result)
        //console.log(result.engine.responseText.openid)
        //console.log(result)
        //将openId存储至本地
        wx.setStorageSync('openId', JSON.stringify(result.engine.responseText.openid)) //转成字符串
      }
    })


    //持续一秒(动画效果)
    var _this = this;
    setTimeout(function(){
      _this.setData({
        remind: ''
      });
    }, 1000);
  },
  tapHelp: function(e){
    if(e.target.id == 'help'){
      this.hideHelp();
    }
  },
  showHelp: function(e){
    this.setData({
      'help_status': true
    });
  },
  hideHelp: function(e){
    this.setData({
      'help_status': false
    });
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 
   * 
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})